1. Field of the Invention
The present invention is related to graphical user interface management systems, and in particular, it is related to those which enable a user to easily produce and manage objects of user interfaces by means of tables of a relational type.
2. Description of Related Art
One feature of programming in an object oriented language is that it uses a data abstract approach. The data abstract approach means a programming manner in which data expressions and operations to data are grouped together, and accesses to the data are allowed only from given interfaces of the operations. Data in a program is expressed with common data expressions and interfaces. With an object oriented language, frameworks for expressing common data are referred to as "classes." Objects are entities of data having configurations such as classes. Applications are written by,definition of a plurality of classes, generation of objects, and operations to the objects. Another feature in programming in an object oriented language is that classes have a hierarchy which causes inheritance between an upper and lower classes. The above features allow higher level data modelling, and sharing and reuse of data types.
The use or definition of classes however requires the use of an object oriented language, and sharing and reuse of data types directed to a specific object oriented language cannot be used with other object oriented languages. Accordingly class definitions, as well as existing files prepared in another language, cannot be used in one language.
Currently, many user interface management system prototypes have been presented. A user interface toolkit, "Coral" (A User Interface Toolkit Based on Graphical Objects and Constraints, OOPSLA '88 Conference Proceedings pp. 37-45) by P. A. Szekely and B. N. Myers is a system which produces graphical objects on windows. Coral is written in an object oriented language (CLOS) which is based on LISP language. For users, features of Coral are:
1. A declaration language is prepared for the definition of graphical objects so that users can define objects. PA0 2. A procedure language is prepared for the provision of constraints among objects so that users can set the constraints. PA0 1. Special variables are prepared for isolation between a portion, for display of graphical objects, and an execution portion which is invoked by the display portion. PA0 2. Class sets are prepared for dealing with a plurality of graphical objects in a set. PA0 3. Procedures for identifying objects which are pointed by input actions and modifications to data in the objects are defined within the objects.
The generation of new graphical objects by users basically necessitates understanding by users of CLOS which gives the essence to Coral and the declaration language which Coral defines. Also the description of constraints among the objects necessitates understanding by users of CLOS and the procedure language. In view of building user interface management systems, features of Coral are:
The reason why specific variables and classes are needed with the above features 1 and 2 is that object oriented languages lack a concept of "relation." Consideration of specific variables and classes must be introduced during design. It is also reasonable, and complies with ideas of database systems, that the "object access" functions of the feature 3 should be provided outside of the objects, because the objects are considered as data holding means.
Another reference connected to the present invention is Japanese Published Unexamined Patent Application No. H1-229321, which discloses user interface generation tools which hold location information of objects in tables. However that reference does not suggest the use of tables of a relational type to enable queries of a plurality of tables simultaneously, nor does it disclose generation or management of graphical objects or procedure objects with tables directly.